2012-12-25 12 views
5

मैं पथ सहायक तरीकों का उपयोग कर रहा हूँ LINK_TO में URL बनाने के लिए, और वे इस तरह से स्वरूपित यूआरएल लौट रहे हैं के साथ विकृत मार्गों बनाने:रेल डॉट्स

http://localhost:3000/tweets.4 

जब मैं उन्हें उम्मीद कर रहा था इस तरह से स्वरूपित किया जाना है:

http://localhost:3000/tweets/4 

नोट यह कैसे उम्मीद फ़ॉरवर्ड स्लैश के बजाय परिसीमक के रूप में एक बिंदु का उपयोग कर रहा है। शीर्ष लिंक सही दृश्य को हल नहीं करता है, यह बस/ट्वीट दृश्य को पुनः लोड करता है। जब मैं मैन्युअल रूप से नीचे की तरह यूआरएल संपादित करता हूं, तो यह सही/ट्वीट/शो/खोलता है।

मेरे ऑनलाइन शोध में सबसे नज़दीकी चीज यह थी कि लोगों को गलत तरीके से घोंसले वाले रूटिंग स्टेटमेंट्स के साथ सामना करना पड़ा - लेकिन मुझे नहीं लगता कि मैं यहां ऐसा कर रहा हूं।

मैं किसी भी मदद या पॉइंटर्स की सराहना करता हूं जो कोई भी प्रदान कर सकता है!

ट्वीट्स/index.html.erb

<h1>Listing tweets</h1> 

<% @tweets.each do |tweet| %> 
<div> 
    <!-- creates path in format of /tweets.2 --> 
    <div><%= link_to tweet.status, tweets_path(tweet) %></div> 

    <!-- creates path in the format of /user.1 --> 
    <div><%= link_to tweet.user.name, users_path(tweet.user) %></div> 
</div> 
<% end %> 

tweets_controller.rb

class TweetsController < ApplicationController 

    def index 
    @tweets = Tweet.all 
    end 

    def show 
    @tweet = Tweet.find(params[:id]) 
    end 

    def new 
    @tweet = Tweet.new 
    end 

    def create 
    @tweet = Tweet.new(params[:tweet]) 
    @tweet.user = User.last 

    if(@tweet.save) 
     redirect_to :root 
    end 
    end 

    def edit 
    @tweet = Tweet.find(params[:id]) 
    end 

    def delete 
    end 

end 

routes.rb:

यहाँ संबंधित स्रोत फ़ाइलें और संस्करण जानकारी कर रहे हैं

Zombietweets::Application.routes.draw do 
    resources :tweets 
    root :to => 'tweets#index' 
end 

Gemfile

source 'https://rubygems.org' 

gem 'rails', '3.2.9' 

group :development, :test do 
    gem 'sqlite3', '1.3.5' 
    gem 'rspec-rails', '2.11.0' 
end 

group :assets do 
    gem 'sass-rails', '3.2.3' 
    gem 'coffee-rails', '3.2.1' 
    gem 'uglifier', '1.0.3' 
end 

gem 'jquery-rails', '2.0.2' 

मैं रेल 3.2.9 और रूबी 1.9.3p327 (2012-11-10) [x86_64-darwin12.2.0] का उपयोग कर रहा

+0

की डुप्लीकेट http://stackoverflow.com/questions/5674116/path-helpers-generate-paths-with-dots- में resources :users जोड़ना भूल बदले में –

उत्तर

10

आप शामिल हैं tweet_path और user_path आज़माएं?

आप शो एक्शन तक पहुंच बनाना चाहते हैं। उस क्रिया के लिए, मॉडल नाम * _path कॉल में एकवचन होना चाहिए।

सुनिश्चित करने के लिए, एक कंसोल में rake routes आज़माएं।

संपादित करें: आप भी अपने मार्गों फ़ाइल :)

+1

धन्यवाद! मुझे यह बताने में शर्मिंदा है कि मैं इसे समझने की कोशिश कर रहा हूं :) –

संबंधित मुद्दे