我有点新手问题.我正试图将一个变量从我的视图传递给我的控制器.无论如何我的控制器中的方法可以从我的视图中接收变量吗?
Post view: show.html.erb:
....
<%=link_to "Add relationship", :method => :add_relationship(@rela) %>
Run Code Online (Sandbox Code Playgroud)
Controller: post.controller.rb:
def add_relationship(rela)
@post = Post.find(params[:id])
if current_user.id == @post.user_id
@post.rel_current_id = rela.id
@post.save
redirect_to relationships_url
else
redirect_to posts_url, :notice => "FY!"
end
end
Run Code Online (Sandbox Code Playgroud)
提前致谢 :)
ruby controller ruby-on-rails parameter-passing ruby-on-rails-3.1
我想知道是否有一种方法可以引发多个错误并在JavaScript中捕获所有错误。
我正在寻找特定的字段,当我发现缺少的字段时,我想抛出一个错误。
问题是,如果我抛出一个错误,例如:
throw "you are missing field: " xxxxxx
Run Code Online (Sandbox Code Playgroud)
我没有告诉用户他/她丢失的所有其他字段。
我也不想将所有内容组合成一个字符串,因为错误消息可能太长。
有任何想法吗?
谢谢。
我最近安装了will_paginate gem并且它工作得很好,但我希望它可以使用我目前的设置.现在我在同一页面上显示所有Feed(或帖子),但是在点击该页面的人数之后对它们进行排序:
controller.rb
@t = Time.now
@h1 = @t - 1.hour
@feeds = Feed.find(:all, :order => "created_at DESC").sort { |p1, p2| p2.impressionist_count(:filter=>:all, :start_date=>@h1) <=> p1.impressionist_count(:filter=>:all, :start_date=>@h1)}
Run Code Online (Sandbox Code Playgroud)
现在......我测试了paginate gem,如果我在控制器中执行此操作,它可以正常工作:
controller.rb
@feeds = Feed.paginate(:per_page => 10, :page => params[:page], :order => "created_at DESC")
Run Code Online (Sandbox Code Playgroud)
所以我认为1 + 1 = 2并尝试将两者结合起来:
controller.rb
@feeds = Feed.paginate(:per_page => 10, :page=>params[:page], :order => "created_at DESC").sort { |p1, p2| p2.impressionist_count(:filter=>:all, :start_date=>@h1) <=> p1.impressionist_count(:filter=>:all, :start_date=>@h1)}
Run Code Online (Sandbox Code Playgroud)
我无法对帖子进行排序并对其进行分页.我尝试加载页面时收到错误:
#的undefined方法`total_pages'
我想这个工作,它会很甜蜜:).但是,如果它不起作用,还有其他方法吗?
提前致谢!