我有两个控制器search
和tweet
:
我在搜索,我想去推文控制器索引操作列出数据库中的所有推文。我用redirect_to
尝试了很多东西,但它没有用。我通常会收到此错误NoMethodError in Home#search
。
search.html.erb:
<%=client.search("#{params[:search]}", result_type: "recent").take(5).collect do |tweet| %>
<% @tweeter = Tweeter.new(image: tweet.user.profile_image_url ,sender: tweet.user.name ,tweet: tweet.full_text ,date: tweet.created_at)%>
<% @tweeter.save %>
<%= redirect_to tweeters_path %>
<%end %>
推特控制器:
def index
@tweeters = Tweeter.all
end
我收到了这条消息:
注意:当我在twitter中搜索任何内容时,结果将保存在DB中,当我键入URL https://xxxxxxxxxxxxxxx.c9users.io/tweeters时,将列出DB中的所有数据。但我想在搜索后直接转到https://xxxxxxxxxxxxxxx.c9users.io/tweeters
答案 0 :(得分:1)
redirect_to是ActionController :: Base Class的一个方法,所以你不能在ActionView中使用它。
相反,你可以尝试这样:
<% if @tweeter.save %>
<script type="text/javascript">
window.location.href="/your_path"
</script>
<% end %>
答案 1 :(得分:0)
您正在查看您应该在控制器中执行的操作。您应该阅读MVC(请参阅此处MVC on Wiki
解决您的问题:您可以在那里渲染部分。 用
替换你的重定向...render(:partial => 'name_of_partial')